package com.xinchao.common.constant;

import java.util.HashMap;
import java.util.Map;

/**
 * 中国移动接口常量类
 *
 * @author dxy
 * @date 2018/8/16 14:55
 */
public class CmccApiConstant {
	/**
	 * 中国移动接口返回code
	 */
	public static final String CMCC_RESPONSE_CODE = "code";
	/**
	 * 中国移动接口返回data
	 */
	public static final String CMCC_RESPONSE_DATA = "data";
	/**
	 * 中国移动接口返回error
	 */
	public static final String CMCC_RESPONSE_ERROR = "error";
	/**
	 * 此字典Map数据来源于《物联云能力开放平台服务接口协议V3.0》的3.3.4结果码表章节
	 *
	 * 错误码Map
	 */
	public static final Map<Integer, String> ERROR_CODE_MAP = new HashMap<>();
	static {
		ERROR_CODE_MAP.put(1, "服务不可用");
		ERROR_CODE_MAP.put(2, "开发者权限不足");
		ERROR_CODE_MAP.put(3, "用户权限不足");
		ERROR_CODE_MAP.put(4, "图片上传失败");
		ERROR_CODE_MAP.put(5, "HTTP方法被禁止");
		ERROR_CODE_MAP.put(6, "编码错误");
		ERROR_CODE_MAP.put(7, "请求被禁止");
		ERROR_CODE_MAP.put(8, "服务已经作废");
		ERROR_CODE_MAP.put(9, "业务逻辑出错");
		ERROR_CODE_MAP.put(20, "缺少sessionId参数");
		ERROR_CODE_MAP.put(21, "无效的sessionId 参数");
		ERROR_CODE_MAP.put(22, "缺少appKey参数");
		ERROR_CODE_MAP.put(23, "无效的 appKey参数");
		ERROR_CODE_MAP.put(24, "缺少签名参数");
		ERROR_CODE_MAP.put(25, "无效签名");
		ERROR_CODE_MAP.put(26, "缺少方法名参数");
		ERROR_CODE_MAP.put(27, "不存在的方法名");
		ERROR_CODE_MAP.put(28, "缺少版本参数");
		ERROR_CODE_MAP.put(29, "非法的版本参数");
		ERROR_CODE_MAP.put(30, "不支持的版本号");
		ERROR_CODE_MAP.put(31, "无效报文格式类型");
		ERROR_CODE_MAP.put(32, "缺少必选参数");
		ERROR_CODE_MAP.put(33, "非法的参数");
		ERROR_CODE_MAP.put(34, "用户调用服务的次数超限");
		ERROR_CODE_MAP.put(35, "会话调用服务的次数超限");
		ERROR_CODE_MAP.put(36, "应用调用服务的次数超限");
		ERROR_CODE_MAP.put(37, "应用调用服务的频率超限");
		ERROR_CODE_MAP.put(38, "无效IP");
		ERROR_CODE_MAP.put(99, "其他错误，接口层捕获未处理异常");
	}

	/**
	 * JSON格式key(msisdnInfoList)
	 */
	public static final String JSON_KEY_MSISDN_INFO_LIST = "msisdnInfoList";
	/**
	 * JSON格式key(list)
	 */
	public static final String JSON_KEY_LIST = "list";
	/**
	 * JSON格式key(apnList)
	 */
	public static final String JSON_KEY_APN_LIST = "apnList";
	/**
	 * JSON格式key(pkgInfoList)
	 */
	public static final String JSON_KEY_PKG_INFO_LIST = "pkgInfoList";
	/**
	 * JSON格式key(iccid)
	 */
	public static final String JSON_KEY_ICCID = "iccid";
	/**
	 * JSON格式key(usedFlow)
	 */
	public static final String JSON_KEY_USED_FLOW = "usedFlow";
	/**
	 * JSON格式key(msisdnList)
	 */
	public static final String JSON_KEY_MSISDN_LIST = "msisdnList";
	/**
	 * JSON格式key(time)
	 */
	public static final String JSON_KEY_TIME = "time";
	/**
	 * JSON格式key(msisdn)
	 */
	public static final String JSON_KEY_MSISDN = "msisdn";
	/**
	 * JSON格式key(apnInfo)
	 */
	public static final String JSON_KEY_APN_INFO = "apnInfo";
	/**
	 * JSON格式key(monthlyList)
	 */
	public static final String JSON_KEY_MONTHLY_LIST = "monthlyList";
	/**
	 * 方法名-单个号码上网功能开停
	 */
	public static final String TRIOPI_BUSINESS_GPRS_SWITCH = "triopi.business.gprs.switch";
	/**
	 * 方法名-批量号码上网功能开停
	 */
	public static final String TRIOPI_BUSINESS_GPRS_BATCH_SWITCH = "triopi.business.gprs.batch.switch";
	/**
	 * SIM卡状态-停用
	 */
	public static final Integer SIM_OPTTYPE_DISABLE = 1;
	/**
	 * SIM卡状态-启用
	 */
	public static final Integer SIM_OPTTPYE_ENABLE = 2;

}
